
#ifndef XDNS_HOST_ENTRY_H
#define XDNS_HOST_ENTRY_H

#include "xdns.h"
#include <netinet/in.h>
#include <string>

class XdnsHostEntryImpl : public XdnsHostEntry
{
public:
    XdnsHostEntryImpl(const std::string& hostname,
                      const struct in_addr* ipAddress);
    virtual ~XdnsHostEntryImpl();

    /* See xdns.h for description. */
    virtual std::string GetHostname() const;
    virtual const struct in_addr* GetAddress() const;

private:
    // Copy constructor and assignment operator are not supported.
    XdnsHostEntryImpl(const XdnsHostEntryImpl& anotherHostEntry);
    XdnsHostEntryImpl& operator=(const XdnsHostEntryImpl& anotherHostEntry);

    std::string m_hostname;
    struct in_addr m_ipAddress;
};

#endif  // XDNS_HOST_ENTRY_H

